STM32 电机控制 SDK MCFW-6.4.1
用于构建驱动 STM32 的 PMSM 电机应用的软件开发套件
使用Motor Control SDK 入门

上一页:STM32 Motor Control SDK 概述 ↤|目录 |↦ 下一页:Motor Profiler 应用说明

版权所有 © 2025 STMicroelectronics

简介

STM32微控制器提供业界标准的Arm® Cortex-M®核心的性能,运行现场控制(FOC)或6-Step模式,广泛应用于电机控制应用,如空调、家用电器、无人机、建筑与工业自动化、医疗及电动自行车等高性能驱动。STM32电机控制软件开发套件(MC SDK)是意法半导体电机控制生态系统的一部分,该生态系统为电机控制应用提供了广泛的硬件和软件解决方案。根据所适用的软件许可协议,该名称被称为X-CUBE-MCSDK。它包括:

  • ST MC 固件库,适用于永磁同步电机(PMSM)和无刷直流电(BLDC)
  • ST MC Workbench软件工具,用于配置 MC SDK 固件库参数的图形用户界面。
  • ST Motor Pilot,一个图形化工具,用于控制你的电机并调整你的应用。它包含ST Motor Profiler工具。

STM32电机控制软件开发套件允许评估STM32微控制器在驱动STM32生态系统中驱动一至两台三相电机的性能。ST MC Workbench软件工具运行在 PC 上。它减少了配置 STM32 MCU 固件库的设计时间和工作量。通过其图形用户界面,它可以Generate应用程序所需的所有配置文件。此外,ST MC Workbench与 STM32STM32CubeMX 接口,利用其生态系统并定制嵌入式应用。

一般信息

MC SDK 用于开发运行在基于 Arm® Cortex-M® 处理器的 STM32 32 位微控制器上的电机控制应用。下表展示了有助于更好地理解本文档的缩写词定义。

缩写描述
GUI图形用户界面
IDE集成开发环境
FOC磁场定向控制
FW固件
MC电机控制
MC WBMotor Control Workbench(STMicroelectronics 软件工具)
MC BMMotor Control Board Manager(STMicroelectronics 软件工具)
MC BDMotor Control Board Designer(STMicroelectronics 软件工具)
MPMotor Profiler(STMicroelectronics 软件工具)
PMSM永磁同步电机
PWM脉宽调制
SDK软件开发工具包
BLDC无刷直流

电机控制生态系统的设置

合适的 ST 电机控制生态系统环境包括:

  • 一台运行所需MC软件工具的PC。
  • STM32CubeIDE 或第三方 IDE
  • 第三方ANSI C编译器
  • 用于调试和编程的 JTAG/SWD 接口
  • 支持一块STMicroelectronics应用板,配备STM32微控制器之一。它驱动动力级并具备:
    • PWM输出到门极驱动器
    • ADC信道用于测量电流和电压
    • 直流母线电压
  • 三相PMSM电机或BLDC电机
  • 电源

详情请参阅 https://www.st.com/content/st_com/en/ecosystems/stm32-motor-control-ecosystem.html 中的STM32电机控制软件开发套件(MC SDK)数据简报及发布说明

软件工具设置

STMicroelectronics 电机控制生态系统运行在装有 Windows® 10 的 PC 上。以下 PC 软件工具已正确安装:

  • ST MC Workbench(v6.0 或更高版本)
  • STM32STM32CubeMX(v6.12.0或更高版本)
  • STM32CubeProgrammer
  • 支持的任何IDE:
    • IAR Embedded Workbench® for Arm® (v8.4/v8.5)
    • STM32CubeIDE
    • Keil® MDK 工具(v5.38或更高版本)
  • STM32 电机控制 SDK v6.0 工具用户手册
  • STM32STM32CubeMX 用于 STM32 配置和初始化的 C 代码Generate用户手册
  • STM32 ST-LINK 实用工具软件用户手册

请参考相应的用户手册以获取正确安装方法。

硬件配置

将 STMicroelectronics 应用板连接到 PC 需要 USB Type-A 接口。有关 USB 线的详细信息,请参阅应用板的描述。每块 STMicroelectronics 应用板都会附带专用描述卡以便正确安装。更多细节请参阅 www.st.com 上的开发板用户手册。所选硬件可以是以下三种配置之一:

入门

硬件连接

如果与USB线不同,则在PC与STMicroelectronics应用板之间连接一根USB线,以及JTAG/SWD编程线。

Motor Profiler

Motor Profiler 是一种自动测量 PMSM 电机电气参数的工具。电机规格可能未知,可在不到一分钟内确定。该算法确定配置 STM32 MCU 固件库所需的电机参数:定子电阻 Rs、定子电感 Ls、反电动势常数、电机惯性和摩擦。它允许你Save所做的配置。这个工具并非制作项目的必备,适用于不了解电机参数或需要更高精度时使用。

Motor Profiler 在《Motor Profiler 应用说明》部分有详细介绍。

Workbench

点击工作台图标后,你会进入Home。你可以选择最近的项目,点击“New project”按钮,加载项目,或者像下图所示的示例项目。

ST MC Workbench – Home
ST MC Workbench – Home

Hardware setup信息在New project窗口出现后提供,如下图所示。

ST MC Workbench——Hardware setup
ST MC Workbench——Hardware setup

一个New project从选择硬件配置开始。除了用背包开始时,你需要点击相应的窗口来选择板子和电机。板子选择允许你从当前版本MCSDK中定义的所有可能板卡中选择。可能是:

  • 电源板,该板仅包含电源电子元件和一个连接器,用于连接到控制板
  • 一块控制板,该板主要包含STM32及其连接到电源板的连接器
  • 作为逆变器,该板结合了电力电子和STM32。

根据你的第一选择,工作台会建议你选择配套的电路板(控制板或电源板)和/或电机。

通过各种筛选器和书签功能,选板变得更简单。

如果你选择了与电源板不同的控制板,电源连接器上方会出现一个橙色三角形,方便你选择适配器。

ST MC Workbench——Hardware setup
ST MC Workbench——Adapter requirement

Dual Drive setup得以实现,得益于第一块电源板下方的“Plus”按钮,从而选择第二块电源板。你随时可以自由移除两块主板之间的默认连接。如果你想选择另一个连接器,只需拖拽一根线,连接控制连接器到目标电源板。增加第二个电机的原理完全相同。

整体配置现在更加清晰,并用图形化展示了如下图所示的各种连接。Dual Drive setup更是如此。

ST MC Workbench——Hardware setup
ST MC Workbench – Dual Drive setup

当选中你的板子和电机时,无论是否带可选接口,都可以点击“前往摘要”按钮。根据电源和控制板连接后可用的功能,你可以选择用哪种算法驱动电机,FOC还是6-Step。算法选中后,你可以按“创建”按钮,如下图所示。

ST MC Workbench——Hardware setup
ST MC Workbench – Algorithm selection

你可以看到,一旦你Save了项目,它会出现在Home的最近项目列表卡上。电机数量由卡片、算法(FOC或6-Step)以及项目硬件类型表示。根据你选择FOC 还是 6-Step 算法,驱动器设置部分的显示和配置都不一样。

当项目或示例加载或创建New project时,会显示Main project view。以下零件可用:

  • 工具栏
    • Home:离开当前项目并返回Home
    • Save:Save当前项目
    • Generate:Generate固件源代码
    • Motor Pilot:用于运行motor pilot工具
  • 左侧栏
    • 这是该项目可用步骤的列表。它也被当作一种清单来管理
  • 主视图
    • 项目框图,包含所有可用部件,如交流输入、涌入电流、总线电压、总线感应、U、V、W驱动器、温度感应等。任何块都是激活的,点击它后,应用程序会进入相关步骤,该步骤还包含一些配置信息。
    • 你上面有几个参数,比如项目硬件相关的信息
      • MCU 通过点击显示引脚使用和冲突信息
      • 控制板信息
      • 电源板信息

ST MC Workbench – Main project view
ST MC Workbench – Main project view

为了让你完全掌控项目,向导会在构建项目时帮助你。向导是项目的导览。这里列出了一些主要的概念:

  • 章节顺序:每个章节受前一章影响,但不影响前一章。
  • 每个可编辑字段必须有一个默认值:如果你没有为某个字段指定明确的值,工具会提供一个有效的值。
  • 默认值和显式值的集合必须一致:如果出现错误,向导无法更New project内容。

ST MC Workbench – Wizard view
ST MC Workbench – Wizard view

最后,在工具栏中,你可以点击“Generate项目”按钮。窗口帮助你选择要使用的IDE,驱动器类型也会显示出来。如果你愿意,可以修改设置,然后点击“Generate”。提供针对特定工具链的项目,固件可以编译,并刷入电路板。

关于ST MC Workbench的更多信息,请参阅《MC Workbench用户手册》。

ST MC Workbench – Generate窗口视图
ST MC Workbench – Generate窗口视图

电机控制项目Generate

MC 工作台Generate一个 STSTM32STM32CubeMX 项目文件(IOC 文件),并在后台启动 STM32STM32CubeMX,用你所选的固件驱动(HAL 或 LL)Generate你所选工具链的项目。Generate完成后,你的项目就可以由 IDE 打开,并需要编译。最后一步是运行代码:从IDE下载嵌入的应用程序到目标。如果 ST-LINK 安装正确,做起来非常简单。之后,就是测试你的应用的时候了。

如果你想添加自定义代码,请注意只有用户板卡内的代码在Generate后会保留。然而,任何添加在用户板卡之外的自定义代码都会被删除。别忘了每次代码Generate后重新编译并重新刷写你的项目

硬件IP的修改

  • 如果你需要在电机控制IP之外配置其他IP,可以打开 STM32STM32CubeMX,做修改后直接从 STM32STM32CubeMX 重新Generate项目。不过修改 harware 配置时要非常小心,因为如果更改了电机控制应用使用的 IP,这会非常敏感。注意,打开 STM32STM32CubeMX 是可选的。如果你不需要更改硬件IP配置,MC WorkbenchGenerate的项目已经准备好被你选定的IDE打开。

图13。STM32STM32CubeMX – 引脚排列和配置视图
STM32STM32CubeMX – 引脚排列和配置视图

Motor Pilot

Motor Pilot 是一款控制和监控 PC 工具。电机控制固件与 PC 之间的串行通信由 Motor Pilot 管理。它允许你发送基本命令,如启动和停止、设定目标速度以及清除故障条件。ST Motor Pilot 在我们维基页面的 MC Motor Pilot 启动指南中有完整文档。

当你第一次开始《Motor Pilot》时,你可以选择三种不同的动作:

  • 检测已连接的主板:Motor Pilot尝试在1843200和115200 Mbaud上的所有STLINK虚拟端口COM通信以检测你的主板。如果检测成功,Motor Pilot会加载相应的用户界面。
  • 加载专门用于FOC电机剖面器的UI。
  • 加载自定义界面。

Motor Pilot——板子连接
Motor Pilot – 默认界面

如果发现成功,相应的UI会被加载。下图所示的用例是FOC STO-PLL算法。

Motor Pilot——板子连接
Motor Pilot – 电机以 500 RPM 旋转

如果你在设置项目时更改了UART波特率,自动检测就会失败。解决办法是手动加载对应你配置的UI。用户界面加载完成后,端口和速度字段可以编辑,并需根据设置进行配置。各种拟议的用户界面存储在以下文件夹中:MC_SDK_6.2.1\Utilities\PC_Software\STMotorPilot\GUI

之后点击连接,就可以监控电机了

Motor Pilot——板子连接
Motor Pilot – 已连接开发板

连接建立后,你可以点击启动电机按钮启动电机,监测电机转速,然后点击停止电机按钮关闭电机。

Motor Pilot – 控制按钮
Motor Pilot – 控制按钮

你可以选择速度控制或扭矩控制,并测试其他参数。当电机转动时,你可以查看这些图表并记录这些图表。你可以选择感兴趣的参数作为图表的输入。

  • 点击”Plot”按钮

Motor Pilot – Plot 按钮
Motor Pilot – Plot 按钮

  • 右键点击选择你想要绘制的寄存器:

Motor Pilot – 图表示例
Motor Pilot – 图表示例

Motor Pilot – X/Y 图表示例
Motor Pilot – X/Y 图表示例

关于 Motor Pilot 的更多信息,请参阅我们维基页面上的 MC Motor Pilot 启动指南。

使用预防与限制

电机剖析算法旨在快速评估 ST MC 解决方案。它可以驱动任何三相PMSM,无需特定仪器或特殊技能。虽然测量精度不如专业仪器,但 ST Motor Profiler 的测量在以下条件下得到优化:

  • 定子电阻大于1 Ω
  • 定子电感大于1 mH

此外,选择合适的硬件时,应根据电机特性进行选择。例如,电机的最大电流必须尽可能匹配电路板的最大电流。ST Motor Profiler 只能与兼容的 STMicroelectronics 评估板一起使用

上一页:STM32 Motor Control SDK 概述 ↤|目录 |↦ 下一页:Motor Profiler 应用说明